Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix outdated note about 'int' rounding or truncating #102736

Merged

Conversation

mdickinson
Copy link
Member

@mdickinson mdickinson commented Mar 15, 2023

This PR fixes an out-of-date note attached to int conversions in stdtypes.rst.

The "may round or truncate as in C" language dates from almost 30 years ago, when conversion from a Python float to a Python int involved at C level a (long) cast applied to a C double value. Prior to standard C, presumably the precise behaviour of that cast couldn't be relied upon. But since C89 standardised this behaviour and we can reasonably rely on all current C compilers adhering to that or later standards, the note is out of date. (Moreover, the current code for converting a Python 3 int to a C double is very different.)

Related discuss.python.org thread: https://discuss.python.org/t/built-in-types-int-round-or-truncate-please-elaborate/24840

@terryjreedy
Copy link
Member

Mark, tests are complete, so this is ready to merge and backport.

@mdickinson mdickinson merged commit 405739f into python:main Mar 16, 2023
@miss-islington
Copy link
Contributor

Thanks @mdickinson for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-102766 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Mar 16, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 16, 2023
(cherry picked from commit 405739f)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
@bedevere-bot
Copy link

GH-102767 is a backport of this pull request to the 3.10 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Mar 16, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 16, 2023
(cherry picked from commit 405739f)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
@mdickinson mdickinson deleted the fix-outdated-round-or-truncate-language branch March 16, 2023 20:35
mdickinson added a commit that referenced this pull request Mar 16, 2023
… (#102766)

Fix outdated note about 'int' rounding or truncating (GH-102736)
(cherry picked from commit 405739f)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
mdickinson added a commit that referenced this pull request Mar 16, 2023
… (#102767)

Fix outdated note about 'int' rounding or truncating (GH-102736)
(cherry picked from commit 405739f)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
carljm added a commit to carljm/cpython that referenced this pull request Mar 17, 2023
* main: (34 commits)
  pythongh-102701: Fix overflow in dictobject.c (pythonGH-102750)
  pythonGH-78530: add support for generators in `asyncio.wait` (python#102761)
  Increase stack reserve size for Windows debug builds to avoid test crashes (pythonGH-102764)
  pythongh-102755: Add PyErr_DisplayException(exc) (python#102756)
  Fix outdated note about 'int' rounding or truncating (python#102736)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102760)
  pythongh-99726: Improves correctness of stat results for Windows, and uses faster API when available (pythonGH-102149)
  pythongh-102192: remove redundant exception fields from ssl module socket (python#102466)
  pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102743)
  pythongh-102737: Un-ignore ceval.c in the CI globals check (pythongh-102745)
  pythonGH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (python#102749)
  pythongh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` (python#102722)
  pythonGH-102653: Make recipe docstring show the correct distribution (python#102742)
  Add comments to `{typing,_collections_abc}._type_repr` about each other (python#102752)
  pythongh-102594: PyErr_SetObject adds note to exception raised on normalization error (python#102675)
  pythongh-94440: Fix issue of ProcessPoolExecutor shutdown hanging (python#94468)
  pythonGH-100112:  avoid using iterable coroutines in asyncio internally (python#100128)
  pythongh-102690: Use Edge as fallback in webbrowser instead of IE (python#102691)
  pythongh-102660: Fix Refleaks in import.c (python#102744)
  pythongh-102738: remove from cases generator the code related to register instructions (python#102739)
  ...
Fidget-Spinner pushed a commit to Fidget-Spinner/cpython that referenced this pull request Mar 27, 2023
warsaw pushed a commit to warsaw/cpython that referenced this pull request Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir skip issue skip news
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants